import Vue from "vue";

import VueRouter from "vue-router";

import Login from '@/components/Login.vue';
import Home from '@/components/Home.vue';
import Welcome from '@/components/Welcome.vue';
import SafetyStock from '@/components/user/SafetyStock.vue';
import SafetyStockAudit from '@/components/user/SafetyStockAudit.vue';
import SafetyStockShow from '@/components/user/SafetyStockShow.vue';


// vue使用路由
Vue.use(VueRouter)

const router = new VueRouter({
    routes: [
        // 重定向
        { path: '/', redirect: '/login' },
        // 登录组件
        { path: '/login', component: Login },
        // 后台主页组件
        {
            path: '/home',
            component: Home,
            redirect: "/welcome",
            children: [
                { path: '/welcome', component: Welcome },
                { path: '/SafetyStock', component: SafetyStock },
                { path: '/SafetyStockAudit', component: SafetyStockAudit },
                { path: '/SafetyStockShow', component: SafetyStockShow }
            ]
        }
    ]
})



// 定义全局前置守卫
// to 将要到达的导航位置
// from 即将离开的导航位置
// next 是一个函数，是否要放行当前的导航 next()
router.beforeEach((to, from, next) => {
    // console.log('to', to);
    // console.log('from', from);

    // 先判断当前的目标请求路由是不是/main
    // if(to.path === '/Login') {
    // 获取保存在浏览器sessionStorage中的token键
    const token = sessionStorage.getItem('token')
    // 判断token, 如果token有值，说明登录过。如果token没有值，说明没有登录
    if (token) {
        // 登录，放行
        next()
    } else {
        if (to.path == "/login") {
            next()
        } else {
            next('login')
            //   }
            // 未登录，回到登录页
            // next(false)
        }
        // } else {
        // 放行
        //  next()
    }
})

// 默认外放router
export default router